package qldc.pm.tienan.service.impl;

import java.util.Date;
import java.util.List;

import qldc.pm.tienan.NoSuchTEMP_TienAnException;
import qldc.pm.tienan.NoSuchTienAnException;
import qldc.pm.tienan.model.TEMP_DoiTuongTienAn;
import qldc.pm.tienan.model.TEMP_TienAn;
import qldc.pm.tienan.model.TienAn;
import qldc.pm.tienan.model.impl.TEMP_TienAnImpl;
import qldc.pm.tienan.service.TEMP_TienAnLocalServiceUtil;
import qldc.pm.tienan.service.base.TEMP_TienAnLocalServiceBaseImpl;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.Validator;

/**
 * The implementation of the t e m p_ tien an local service.
 *
 * <p>
 * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link qldc.pm.tienan.service.TEMP_TienAnLocalService} interface.
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 * @see qldc.pm.tienan.service.base.TEMP_TienAnLocalServiceBaseImpl
 * @see qldc.pm.tienan.service.TEMP_TienAnLocalServiceUtil
 */
public class TEMP_TienAnLocalServiceImpl extends TEMP_TienAnLocalServiceBaseImpl {
	public TEMP_TienAn addTEMP_TienAn(long userId, String screenName, long doiTuongTienAnId, String banAnSo,
			String toaAnXuPhat, String diaChiToaAnXuPhat, Date ngayToaAn,
			String toiDanh, Date ngayPhamToi, boolean xoaAnTich,
			String chuThich, String hinhPhatChinh, String hinhPhatBoSung,
			String nghiaVuDanSu, String anPhi, String moTaTienAn, String undoRedo, String thaoTac, long mainTienAnId)
			throws SystemException {
		long tienAnId = counterLocalService.increment(TEMP_TienAn.class.getName());
		TEMP_TienAn tienAn = createTEMP_TienAn(tienAnId);
		
		tienAn.setUserId(userId);
		tienAn.setUserName(screenName);
		tienAn.setCreateDate(new Date());
		tienAn.setDoiTuongTienAnId(doiTuongTienAnId);
		tienAn.setToaAnXuPhat(toaAnXuPhat);
		tienAn.setMoTaTienAn(moTaTienAn);
		tienAn.setNgayToaAn(ngayToaAn);
		tienAn.setNgayPhamToi(ngayPhamToi);
		tienAn.setToiDanh(toiDanh);
		tienAn.setXoaAnTich(xoaAnTich);
		tienAn.setChuThich(chuThich);
		tienAn.setHinhPhatChinh(hinhPhatChinh);
		tienAn.setHinhPhatBoSung(hinhPhatBoSung);
		tienAn.setNghiaVuDanSu(nghiaVuDanSu);
		tienAn.setAnPhi(anPhi);
		tienAn.setBanAnSo(banAnSo);
		tienAn.setUndoRedo(undoRedo);
		tienAn.setThaoTac(thaoTac);
		tienAn.setMainTienAnId(mainTienAnId);
		
		tienAn = addTEMP_TienAn(tienAn);

		return tienAn;
	}
	public void xoaAllTempTienAn(long doiTuongTienAnTempId) throws SystemException{
		List<TEMP_TienAn> tienAns = temp_TienAnPersistence.findByDoiTuongTienAnId(doiTuongTienAnTempId);
		for (TEMP_TienAn ts : tienAns){
			TEMP_TienAnLocalServiceUtil.deleteTEMP_TienAn(ts);
		}
	}

	public TEMP_TienAn findByTEMPTienAnId(long tienAnId) {
		TEMP_TienAn tienAn = null;

		try {
			tienAn = temp_TienAnPersistence.findByPrimaryKey(tienAnId);
		}
		catch (SystemException e) {
		} catch (NoSuchTEMP_TienAnException e) {
			System.out.println("Not found tien an with id "+tienAnId);
		}

		return tienAn;
	}
	public TEMP_TienAn findTienAnMoitNhatOfDoiTuongTienAnIdTemp(long doiTuongTienAnTempId) throws SystemException{
		List<TEMP_TienAn> tienAns = temp_TienAnPersistence.findByDoiTuongTienAnId(doiTuongTienAnTempId);
		if (Validator.isNotNull(tienAns) && !tienAns.isEmpty()){
			return tienAns.get(0);
		}
		return null;
	}

	public TEMP_TienAn updateTEMP_TienAn(long tienAnId,long userId, String screenName, String c, long doiTuongTienAnId,
			String banAnSo, String toaAnXuPhat, String diaChiToaAnXuPhat,
			Date ngayToaAn, String toiDanh, Date ngayPhamToi,
			boolean xoaAnTich, String chuThich, String hinhPhatChinh,
			String hinhPhatBoSung, String nghiaVuDanSu, String anPhi, String undoRedo, String thaoTac, long mainTienAnId)
			throws SystemException, PortalException {
		TEMP_TienAn tienAn = getTEMP_TienAn(tienAnId);

		tienAn.setUserId(userId);
		tienAn.setUserName(screenName);
		tienAn.setModifiedDate(new Date());
		tienAn.setDoiTuongTienAnId(doiTuongTienAnId);
		tienAn.setToaAnXuPhat(toaAnXuPhat);
		// tienAn.setDiaChiToaAnXuPhat(diaChiToaAnXuPhat);
		tienAn.setNgayToaAn(ngayToaAn);
		tienAn.setNgayPhamToi(ngayPhamToi);
		tienAn.setToiDanh(toiDanh);
		tienAn.setXoaAnTich(xoaAnTich);
		tienAn.setChuThich(chuThich);
		tienAn.setHinhPhatChinh(hinhPhatChinh);
		tienAn.setHinhPhatBoSung(hinhPhatBoSung);
		tienAn.setNghiaVuDanSu(nghiaVuDanSu);
		tienAn.setAnPhi(anPhi);
		tienAn.setBanAnSo(banAnSo);
		tienAn.setUndoRedo(undoRedo);
		tienAn.setThaoTac(thaoTac);
		tienAn.setMainTienAnId(mainTienAnId);
		tienAn = updateTEMP_TienAn(tienAn);

		return tienAn;
	}
	

}
